23

» WarCraft 3 / Видимость

Похожие вопросы:

ответ
при смерти юнита обзор вокруг него постепенно уменьшается
это своеобразный модификатор для обзора
он после этого сбрасывается на нормальное значение, но только если не помешать ему
воскрешение юнита - вмешивается в этот процесс
баг обходится быстрым сбросом вижена (дать -99999, и отнять... или наоборот... сейчас поищу описание)
. . .
В общем, я не нашёл точного решения, а тестить какое из них здесь точнее подойдёт - нет времени.
Вариант А - при воскрешении дать на 0.00 (или 0.01) сек абилку на +99999 ренжа обзора и забрать
Вариант Б - сделать то же самое, но на -9999 ренжа
Там есть манипуляции с 0.4 реал-тайма для перерасчёта видимых тайлов игроку, и это должно вроде как дать рывок в нормализации зрения героя...
Если не поможет - резко смени время суток (+12 часов), и потом обратно (ещё +12 часов), может помочь
Нужен ли тут временной промежуток в 0.00 или 0.01 сек - не знаю, проверь сам
ответ
A.W.K.:
Ой все, я просто поставил "облегченная модель". А она только у деревьев facepalm
ответ
Ознакомились с правилами сайта и создали вопросы отдельно
ответ
~8gabriel8:
Как-то щёлкнул галку просто в параметрах карты, что скрытые области частично видимы)

23

» WarCraft 3 / Загрузочный экран

Похожие вопросы:

ответ
Можно! Но всё будет зависить от того какую рассу выбрал игрок при старте. И запихиваешь свои 5 лаодскринов в карту.
ответ
Я ж те писал. Поле описания карты оставляешь пустым. Всё описание вставляешь в картинку загрузочного экрана
Но надо что бы был текст на загрузочном экране(который настраивается через редактор)
Больше ничего не надо, нет? Текст на картинке делается в 20 секунд. Если бы всё в этом мире делалось через фразу "не хочу"
ответ
Насколько я помню, я использовал разные имена LoadingScreenA.mdx, LoadingScreenB.mdx и т.д. для каждой карты. Естественно и их компоненты переименовывал соответственно - LoadingScreenABL(BR/TL/TR)
ответ
Прелоад по факту стартует только после исполнения загрузки карты. Таким образом штатным способ не сделаешь различные загрузочные экраны.
П.С. Кроме этого ты же прописываешь пути в импорте своих изображений. Несколько загрузочных экранов с одним путем? Врятли
П.С,. и как ты интересно собирался вызвать пролоад до загрузки карты?) Создашь функцию в чате лобби?)))

23

» WarCraft 3 / Портрет модели

Принятый ответ
Похожие вопросы:

ответ
Похоже это две разные, полноценные модели. Портрет - на самом деле модель Ледяного, а не-портрет - Лесного. Не знаю как автор до этого додумался. Портрет сразу вшит в модель.
Просто уберите _Portrait из названия и всё будет работать.
ответ
Возможно, в анимации "birth" в модели этого здания также через пробел написано "portrait". Убери слово "portrait" в анимации "birth" и добавь его в анимации "stand" или создай отдельную анимацию "portrait". Также косяк может быть в самой анимации "portrait", если косяк там, то опять же придётся добавить через пробел слово "portrait" к анимации "stand" или вручную создать новую анимацию "portrait", скопировав ключевые кадры из "stand", чтобы не париться.
ответ
JesusHipster:
Если ты хочешь просто камеру и портрет - импортировать их под одним именем, но второй модели приписать _portrait. Хочешь одной моделью - сделать камеру в camera manager во вкладке окна. Там все интуитивно. Если именно объединить модели, то такой функционал был у одной утилицы с хайва, но нужна еще ручная настройка и это совсем не в модел эдиторе делается. веса от этого не сильно убавится, меш не так много весит обычно как анимации, так что запариваться не советую с этим.
Я импортирую и портрет и модель, Sniper.mdx и Sniper_Portrait.mdx, я их импортирую, но вместо портрета у снайпера случайный ракурс, как и без портрета. Может, кинуть файлы, сам протестишь?
ответ
Не тупи. Сделай трансляцию от ТИПА ЮНИТА, а не от конкретного юнита.

23

» WarCraft 3 / Вопрос по утечкам

Похожие вопросы:

ответ
local real x = GetRandomReal(GetRectMinX(GetPlayableMapRect()), GetRectMaxX(GetPlayableMapRect()))
local real y = GetRandomReal(GetRectMinY(GetPlayableMapRect()), GetRectMaxY(GetPlayableMapRect()))
...
(действия с координатами)
...
Любые действия с локейшном можно переделать под координаты, если не используется z-координата, как сказано выше. Но z-координату используют не только лишь все, мало кто может это делать.
И обнулять ничего не придётся, так как действительное число не утекает.
ответ
интережер это число
а null это объект
число не является объектом
следовательно их нельзя сравнивать/приравнивать
ответ
GF RaiseD:
Я знаю только один способ избавления от утечек - писать код без них.Тебе нужен кто-то знающий игровые скрипты или злосчастный Jass. Иначе уровень неопределённости вопроса не позволит подсказать что-то дельное.
ответ
еще раз - лучше скачать handle counter и посмотреть его показания, сколько объектов создается при касте
стремление сделать все безутечно похвально, но все хорошо в меру

23

» WarCraft 3 / Анимации эффекта

Похожие вопросы:

ответ
незнаю поможет или нет но пробни через кустом скрипт написать это AddUnitAnimationProperties(u, "Alternate", false)
где u - это твой юнит и советую перед ней поставить паузу тригера на 0.1 хотяб
ответ
у Сларка это даммик, который двигается вместе с ним, и потом ремувится
у Баланара - лопается, когда день наступает... присмотришь получше
ответ
Я могу поступить даже лучше! Я научу тебя как это сделать самому.
  • Открываешь MdlVis
  • Пункт меню "Модули" -> "Редактор анимаций"
  • В списке "Текущая анимация" выбираешь анимацию Birth
  • С помощью Shift выделяешь на полосе анимации нужный отрезок начиная с 0
  • Пункт меню "Кадры" -> "Отрезать"
  • Сохраняешь модель.
  • profit

23

» WarCraft 3 / Модель через блокнот

Похожие вопросы:

ответ
делается в пару кликов в вот этой версии mdlvis'a...
удаляешь анимации, заходишь оптимизатор - проверяешь что стоит галочка на 3 пунке снизу, жмёшь Ок...

23

» WarCraft 3 / 2 разных способностей от одной

Похожие вопросы:

ответ
  1. Думаю, что можно.
Берем основную модель, возможно, вообще без мяса, только с гусеницами, но с кучей точек крепления. Также берем кучу моделей-аттачметов, представляющих собой эти самые пушки, корпуса и все прочее. При выборе характеристик модели через диалог или интерфейс соответственно создаем на основной модели эффекты-аттачменты, будет собрана техника. Такие штуки, как двигатель и прочие невидные извне элементы будут скорее входить в математическую модель юнита, но это также можно запилить. Название танка - сразу не скажу, есть ли триггер на смену, но на таблице рекордов можно отобразить что угодно.

2.Тоже можно.
Создаем погодный в определенной местности и делаем два триггера для контроля входа-выхода юнитов из нее. На искомых юнитов применяем нужные способности - и все готово.

  1. Здесь чуть сложнее: нужно постоянно проверять тип местности под юнитом, но тоже можно. Проверка на ограждения тоже может бить сделана.

4.Это уже интереснее. Видел раньше подобное в играх. При каждой атаке юнита случайным образом наносим или не наносим доп. урон, эффект горения, кидаем спелл на цель в зависимости от теоретического места попадания атаки.

5.И это можно. Но нужно писать нестандартную систему Альянса. Но через триггеры и JASS все можно...

  1. Продажа техники - лучше через способность, что бы кидать ее на понравившегося юнита, не стоит покупать кота в мешке. Стоимость должна зависеть от технического уровня юнита, его текущего состояния (мертвый танк попадет вам бесплатно, сами чините!), если он был модернизован дополнительно, то это тоже входит в стоимость. Разрешение на продажу делаем аналогично.

  1. Это легко через Custom Value и переменние.

Как ты понял, все что ты предложил создать можно, но на это нужно потрать хороший кусок времени. Остается пожелать тебе удачи над созданием проекта - мне идея уже нравится.
ответ
используй морф, например способность Темный 'Srtt'

23

» WarCraft 3 / Альтернативная форма

Принятый ответ
Похожие вопросы:

ответ
Номер 29. И там реклама вылезает. Самлму было интерестно. Вот и выписал всё.
ответ
Так ты не объяснил , почему Иллидан быстро превращается , хотя стоит задержка "0" , а у моих то же "0" .
Вот ошибка скрин , там нужно 0 поставить . . .
ответ
Мб оно связано с морфом, или с какими то параметрами заклинания - в доте аватар превращал тинкера в танк..
Можно попробовать морфнутся в альтернативного тинкера скиллом 'Aave' - превратится в сфинкса, тогда он навсегда останется тинкером в ульте.
ответ
вариант А - тупо добавить аним.таг юниту, его свойства не изменятся, просто будет выглядеть как медведь
вариант Б - делать абилки в спеллбуке пермаментными, тогда они не будут пропадать

23

» WarCraft 3 / Помогите со скилом

Похожие вопросы:

ответ
Я не понимаю как сделать, чтобы юнит применял способность для применения которой не нужно выбирать цель каста
Если сменить удар грома, на скил полиморф(он как правило требует чтобы игрок выбрал скил и кликнул по противнику) то этот тригер запашет
Проблема в том что Действие: Боевая единица: приказать юнит2 (юнит, его способность) юнит1 , способности нет в списке
Проверил с 3-мя юнитами бить типа со скилом, ток тогда и кастит
ответ
Мне надо чтобы юнит кастовал магией по цели и больше ничего, я не имел в виду дать ему маг атаку
ответ
Воу... Джаз не обязательно изучать, всё это можно сделать и на ГУИ, тем более такую простую способность. На этом сайте есть тема "Заклинания на заказ". Заказывай, жди, получай, изучай. Если прям горит, могу сделать для тебя сам.

23

» WarCraft 3 / Помогите со скилом

Похожие вопросы:

ответ
Я не понимаю как сделать, чтобы юнит применял способность для применения которой не нужно выбирать цель каста
Если сменить удар грома, на скил полиморф(он как правило требует чтобы игрок выбрал скил и кликнул по противнику) то этот тригер запашет
Проблема в том что Действие: Боевая единица: приказать юнит2 (юнит, его способность) юнит1 , способности нет в списке
Проверил с 3-мя юнитами бить типа со скилом, ток тогда и кастит
ответ
Мне надо чтобы юнит кастовал магией по цели и больше ничего, я не имел в виду дать ему маг атаку
ответ
Воу... Джаз не обязательно изучать, всё это можно сделать и на ГУИ, тем более такую простую способность. На этом сайте есть тема "Заклинания на заказ". Заказывай, жди, получай, изучай. Если прям горит, могу сделать для тебя сам.

23

» WarCraft 3 / Вопрос про триггер

Похожие вопросы:

ответ
  1. Думаю, что можно.
Берем основную модель, возможно, вообще без мяса, только с гусеницами, но с кучей точек крепления. Также берем кучу моделей-аттачметов, представляющих собой эти самые пушки, корпуса и все прочее. При выборе характеристик модели через диалог или интерфейс соответственно создаем на основной модели эффекты-аттачменты, будет собрана техника. Такие штуки, как двигатель и прочие невидные извне элементы будут скорее входить в математическую модель юнита, но это также можно запилить. Название танка - сразу не скажу, есть ли триггер на смену, но на таблице рекордов можно отобразить что угодно.

2.Тоже можно.
Создаем погодный в определенной местности и делаем два триггера для контроля входа-выхода юнитов из нее. На искомых юнитов применяем нужные способности - и все готово.

  1. Здесь чуть сложнее: нужно постоянно проверять тип местности под юнитом, но тоже можно. Проверка на ограждения тоже может бить сделана.

4.Это уже интереснее. Видел раньше подобное в играх. При каждой атаке юнита случайным образом наносим или не наносим доп. урон, эффект горения, кидаем спелл на цель в зависимости от теоретического места попадания атаки.

5.И это можно. Но нужно писать нестандартную систему Альянса. Но через триггеры и JASS все можно...

  1. Продажа техники - лучше через способность, что бы кидать ее на понравившегося юнита, не стоит покупать кота в мешке. Стоимость должна зависеть от технического уровня юнита, его текущего состояния (мертвый танк попадет вам бесплатно, сами чините!), если он был модернизован дополнительно, то это тоже входит в стоимость. Разрешение на продажу делаем аналогично.

  1. Это легко через Custom Value и переменние.

Как ты понял, все что ты предложил создать можно, но на это нужно потрать хороший кусок времени. Остается пожелать тебе удачи над созданием проекта - мне идея уже нравится.
ответ
GF RaiseD:
Zeuz, ты должно быть хотел спросить можно ли в функции "IniTrig_Bleach" создавать сразу несколько локальных триггеров, добавлять им ивенты и действия и не будут ли они мешать друг другу. Не будут. Хотя события так ты показал в примере не выйдет добавить. Должно быть ты просто не помнишь название функции.
ответ
создаём юнита
даём юниту таймер
и проверяем что с ним стало
офигиваем от того что выяснили это сами
и не задаём тупых вопросов
на 4 дня пропал и уже 69 тупых вопросов
ответ
Да у тебя куча дыр, во-первых ты не запустил триггер 115 области lumber direction, и оно соответственно не реагирует на событие. Во-вторых перепроверь gold проверку условия на да или нет в той карте которую ты отправил стоит нет
А золото не движется потому что ты ожидание 0,5 сек поставил а область в милисекунде от изначальной то есть триггер не успевает запуститься
ответ
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.

23

» WarCraft 3 / scope

Похожие вопросы:

ответ
Существует лимит то ли на кол-во операций, то ли на время выполнения, то ли и на то и на другое. При превышении лимита поток молча рубится.
В качестве шаманства: попробуй завернуть каждый цикл в отдельную функцию. Врядли это поможет само по себе, но зато потом проще будет переходить к следующему шагу - разнесению на отдельные потоки.
ответ
~16GB:
function AddLocalEffect takes string eff, unit u,player p,string a returns effect
if not IsPlayerAlly(GetLocalPlayer(),p) and GetPlayerState(GetLocalPlayer(),PLAYER_STATE_OBSERVER) == 0 then
set eff = " "
endif
return AddSpecialEffectTarget(eff,u,a)
endfunction
неохота качать JNGP чтоб твой код тестить, заюзай эту функцию
ответ
nvc123, У него там отсутствует CreateGroup()
А ещё она в заголовке globals не null'ась

Я о group G
ответ
Кет, это 4 оператора взятых из вджасс и сиджасс
видимо так юные айсфроги называют эти 2 диалекта jass
ответ прост
качаем джнгп последней версии и ЧИТАЕМ МАНУАЛЫ
ответ
vjass manual:
Также библиотеки могут ссылаться на другие за счет следующей конструкции:
Код:
library A uses B
endlibrary
Это значит, что в библиотеки А содержится функция, вызывающая функцию в библиотеке В, следовательно библиотека В будет размещена выше по коду.

23

» WarCraft 3 / Изменение высоты рельефа

Похожие вопросы:

ответ
Меньше чем -128 ты ландшафт НИКАК ВООБЩЕ НЕ опустишь (хотя, можешь перепилить движок варика).

23

» WarCraft 3 / вопрос по спеллам

Похожие вопросы:

ответ
Set GroveGroup = (Last created unit group)
Не имеет смысла там. Значение справа означает последних созданных триггерно юнитов. Например ты создал 3 пехотинцев в центре карты триггерно, Last created unit group будут эти 3 пехотинца.
У тебя нигде не создаются юниты триггерно.

Присвоение в цикле переменной GroveGroup к Last created unit group(которая равна ничему) обнуляет её и в итоге по завершению всех действий в группе будет лишь 1 юнит - последний добавленный.

Переменная Pick вообще не нужна.
На, исправил твой спелл...
ответ
Yury7, остается только извращение с масивами, но если у тебя в карте овер 50 не стандартных скилов - забей и делай на таблицах. Это удобнее в разы.
ответ
Темы-паровозы с обсуждениями создавайте в личном блоге.
ответ
Где это одно и то же?
Во внутреннем представлении (читай: "после отработки препроцессора JassHelper") любая структура есть набор массивов с индексом, по которому лежат данные именно этой структуры во всех связанных массивах. По факту, передавая структуру в качестве аргумента функции, ты передаёшь только её id из массива.

По поводу вопроса: полного перевода vJass мануала на русский язык не существует в природе, так что вот ссылка на английский: www.wc3c.net/vexorian/jasshelpermanual.html
Крайне рекомендую пользоваться не базовым синтаксисом, а C-подобным, который обеспечивает "AdicHelper" aka cJass (ссылка на русскую версию мануала), это позволит в будущем гораздо проще перейти к программированию на полноценных языках.

23

» WarCraft 3 / Вопрос по триггерам

Похожие вопросы:

ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
Вот скрины.
Нашел ошибку и исправил.
Ошибка была в триггере на убийство, там мана не правильно давалась =)
ответ
Создай новый триггер
событие- Боевая единица входит в нужную область (A Units enters MYREGION)
условие - Боевая единица - Мой Герой (Unittype или Unit Comparison /+ Player comparison)
действие - Победа (Игра-Victory)
Предварительно создай область MYREGION
ответ
А теперь скажи: Ты добавлял модели обычным методом или подключаемым модулем?
Если первое, то да - будут отображаться. Если же второе, то надо скинуть модуль/архив
ответ
~8gabriel8:
Нашёл действие)
Анимация - Play Animation For Doodads In Region

23

» WarCraft 3 / Вот такую вот модель нашёл. Что она может значить?

Похожие вопросы:

ответ
Никак. Варкрафт 2 — двухмерная игра, в ней нет моделей. В ней плоские картинки — спрайты. А модели «из варика 2» моделлеры делают заново.

23

» WarCraft 3 / Где утечка? :(

Похожие вопросы:

ответ
Скомпилил код, у меня ничего не утекает. 96 95 94 хендла, и так далее.
ответ
Достаточно юзать то что внизу, без ненадёжной функции сверху. Но даже тогда какая-то фигня остаётся, насколько мне говорили.

Конкретно в твоём случае рекомендую Использовать одну группу на всю игру.
Юнит входит в карту
Условия блаблабла
Отряд - добавить юнит в группу врагов.
Когда юнит умирает и разлагается он автоматом удаляется из группы.
Тебе останется только проверять число юнитов в группе, не создавая и не удаляя 10 раз в секунду.
Если не устраивает удаление юнита из группы только по разложению - удаляй вручную. когда умирает.

Группы в таком периоде даже "без утечек" вызывают лаги, у меня такое в карте по типу twisted metal имеет место быть.
ответ
Starman2222, обе функции "Позиция юнита" и "Точка со смещением" создают объект типа точка (location), которую необходимо удалять
ответ
Ну еще и 100500 юнитов могут начать лагать, 60+ на игрока которые куда то бегут уже не хорошо.
Так же советую сделать всех юнитов суммонами, чтобы они не разлагались
call UnitApplayTimedLife( unit, 'BFig', 0.00 ) это существенно снизит нагрузку на движок
P.S в ваших юнитах совсем не разобрался, какой то кавардак - нету четкого разделения на юнитов для волн, боссы, суммоны героев, герои игроков....
ответ
LainMikoroso, xgm.guru/p/wc3/articles
там есть всё что ты просил и даже больше

23

» WarCraft 3 / Добавление в группу юнитов с "Москитами"

Похожие вопросы:

ответ
Дабы сильно не заморачиваться ставь около 10, не заметно)
ответ
Diazon, прочти статьи по массивам/структурам
после чего юзай двухмерные массивы/поля-массивы

23

» WarCraft 3 / Предметы (триггер)

Похожие вопросы:

ответ
Так ты же выключаешь триггер на 18 секунд вот он и не срабатывает.
Поставь условие, что герыч не имеет абилки-пустышки, если не имеет - дать её и через 18 сек забрать и пустить молнию.
Правда я не уверен насчёт того, отловится ли attacking unit через 18 сек вейта, проверь...
Вообще, если устраивает орбом - то даёшь "сферу молний" с эффектом "цепь молний", у которой 18 сек перезарядка(у цепи не у сферы)
ответ
Melissa:
а какая способность у этого предмета?
Разобрался с этой проблемой.
ответ
нашел в анг форуме....
• w3u units
• w3t items
• w3b destructables
• w3d doodads
• w3a abilities
• w3h buffs
• w3q upgrades
ответ
Без протекта? Значит открывай да делай.
ответ
Насколько я знаю, в рынках продаётся то, что падало на землю. Быть, может, не только это.

23

» Администрация XGM / Восстановление аккаунта

Похожие вопросы:

ответ
Если у вас есть аккаунт в соц. сети ВКонтакте, тогда вы можете объединить его с вашим аккаунтом на XGM. Это делается на этой страничке xgm.guru/auth-settings
или могу вручную сбросить пароль отправив новый на почту указанную в профиле.
ответ
XGM Bot:
Похожие вопросы:

ответ
Если у вас есть аккаунт в соц. сети ВКонтакте, тогда вы можете объединить его с вашим аккаунтом на XGM. Это делается на этой страничке xgm.guru/auth-settings
или могу вручную сбросить пароль отправив новый на почту указанную в профиле.